﻿/// <reference path="jquery.min.js" />
/// <reference path="pm-lib.js" />

$(function () {

    //绑定右键菜单

    $("#top-menu > li>a").contextmenu({
        items: [{
            label: '关闭',
            onClick: function() {
                alert('你点击了新建项目');
            }
        },{
            label: '关闭其他标签',
        }, {
            label: '关闭右边标签',
        }],
        onClickItem: function(item, e) {
            $('#contextMenuExample1 .text-info').text('你刚刚点击了 "' + item.label + '"');
        }
    });

    /*左边菜单*/
    //一级菜单点击
    $(document.body).on("click", "#sys_menu .menu-btn", function () {
        var _this=$(this);
       // pm.removerActiveClass();
        var ul = $(this).parents("ul");
        var t_a = $(this);
        var url = t_a.attr("data-url");
        var id = t_a.attr("data-id");
        var title = t_a.children("span").text().trim();
        if (url === undefined) { url == "" };
        if (id === undefined) { id == "" };
        if (url != "" && id != "") {
            $(t_a).addClass("active");
            pm.addtopiframe({ url: url, id: id, title: title });
            return;
        }
        $(".menu-ul>li ul>li ul>li .menu-btn").removeClass("active");
        if (_this.next("ul").is(":visible")) {
            _this.removeClass("active");
            _this.next("ul").slideUp(); 
            return;
        }

        
        _this.addClass("active");
     
        //把同级菜单关闭
        _this.parent("li").siblings().children("ul").slideUp();
        _this.next("ul").slideDown();

    });


    //菜单收缩按钮点击
    $("#pm-fast-btn").click(function () {
        var dataOpen = $(this).attr("data-open");
        if (dataOpen == "no") {
            $(".pm-content-left").animate({ marginLeft: 0 }, 500);
            $(this).attr("data-open", "yes");
            return;
        }
        $(this).attr("data-open", "no");
        $(".pm-content-left").animate({ marginLeft: -180 }, 500);
    });
    //首页点击
    $("#mission-home").click(function () {
        var id = $(this).attr("data-top-menu-id");
        pm.addtopiframe({ id: id, type: "home" });
    })

    //快捷菜单点击
    $("#pm-top-menu").on("click", ">li>a", function () {
        $("#mission-home").removeClass("active");
        $("#pm-top-menu > li >a").removeClass("active");
        $(this).addClass("active");
        var id = $(this).attr("data-top-menu-id");
        //打开对应页面
        pm.addtopiframe({ id: id });

    }).on("mouseenter", ">li>a", function () {
        $(this).children('span[data-top-menu="close"]').show(200);
    }).on("mouseleave", ">li>a", function () {
        $(this).children('span[data-top-menu="close"]').hide(200);
    })

    //头部快捷菜单删除被点击
    $("#pm-top-menu").on("click", ">li span[data-top-menu='close']", function (e) {
        e.stopPropagation();
        var aid = $(this).parent("a").attr("data-top-menu-id");
        if (aid === undefined || aid == "") { return; }
        $("#pm-top-menu>li>a").remove("active");
        $("#mission-home").remove("active");
        // $(this).parent("a").parent("li")
        pm.removeAllPage(aid);
    });
})

var pm = {
    addtopiframe: function (o) {
        //移除选中
        pm.removeAllSelMenu();
        var atop = "#pm-top-menu > li>a[data-top-menu-id='{0}']".Format(o.id);
        if ($(atop).length > 0 || o.type == "home") {
            if (o.type == "home") {
                $("#mission-home").addClass("active");
            } else {
                $(atop).addClass("active");
            }
            $("#content-iframes > div").hide();
            $("#content-iframes > div[data-right-iframe-id='{0}']".Format(o.id))
            .show().addClass("iframe-fade");
            if (o.hasOwnProperty("url")) {
                $("#content-iframes > div[data-right-iframe-id='{0}']>iframe".Format(o.id)).attr("src", o.url);
            }
            return;
        }
        var topMenuHtml = '<li>' +
                    '    <a class="active" data-top-menu-id="{0}">'.Format(o.id) +
                    '        <span class="tm-text">{0}</span>'.Format(o.title) +
                    '        <span data-top-menu="close">' +
                    '            <i class="icon-times"></i>' +
                    '        </span>' +
                    '    </a>' +
                    '</li>';
        var iframeHtml = '<div class="content-iframe" data-right-iframe-id="{0}">'.Format(o.id) +
                        '    <iframe src="{0}"></iframe>'.Format(o.url) +
                        '</div>';
        $("#pm-top-menu").append(topMenuHtml);
        $(atop).addClass("active");
        $("#content-iframes").append(iframeHtml);
        //隐藏所有iframe
        $("#content-iframes > div").hide();
        $("#content-iframes > div[data-right-iframe-id='{0}']".Format(o.id))
        .show().addClass("iframe-fade");
    },
    removeAllSelMenu: function () {
        $("#mission-home").removeClass("active");
        $("#pm-top-menu > li > a").removeClass("active");
    },
    /*
     * 移除快捷菜单top 跟内容
     */
    removeAllPage: function (id) {
        $("#pm-top-menu > li > a[data-top-menu-id='{0}']".Format(id)).parent().remove();
        $("#content-iframes > div[data-right-iframe-id='{0}']".Format(id)).addClass("iframe-out");
        setTimeout(function () {
            $("#content-iframes > div[data-right-iframe-id='{0}']".Format(id)).remove();
            clearTimeout(this);
        }, 550);
    },
    //快捷菜单移除
    shortcutMenuRemove: function (id, obj) {
        var $obj = $(obj);
        var _ShowId = 0;
        $("#mission-home").remove("active");
        $("#pm-top-menu > li > a").remove("active");
        //打开首页
        if ($obj.prev().length <= 0 && $obj.next().length <= 0) {
            $("#mission-home").addClass("active");
            $("#pm-top-menu > li > a[data-top-menu-id='{0}']".Format(id)).parent().remove();
            $("#content-iframes > div[data-right-iframe-id='{0}']".Format(id)).addClass("iframe-out");
            setTimeout(function () {
                $("#content-iframes > div[data-right-iframe-id='{0}']".Format(id)).remove();
                clearTimeout(this);
            }, 550);
            $("#content-iframes > div[data-right-iframe-id='{0}']".Format(0))
            .show().addClass("iframe-fade");
            return;
        }
        if ($obj.prev().length <= 0 && $obj.next().length > 0) {
            _ShowId = $obj.parent().children("li").children("a").attr("data-top-menu-id");
        }
        else if ($obj.prev().length > 0 && $obj.next().length > 0) {  //中间取后面一个
            _ShowId = $obj.next().children("a").attr("data-top-menu-id");
        }
        else if ($obj.next().length <= 0) {//最后取前面一个
            _ShowId = $obj.prev().children("a").attr("data-top-menu-id");
        }
        $("#pm-top-menu > li > a[data-top-menu-id='{0}']".Format(id)).parent().remove();
        $("#content-iframes > div[data-right-iframe-id='{0}']".Format(id)).addClass("iframe-out");
        setTimeout(function () {
            $("#content-iframes > div[data-right-iframe-id='{0}']".Format(id)).remove();
            clearTimeout(this);
        }, 550);

        //展开对应的
        $("#pm-top-menu > li > a[data-top-menu-id='{0}']".Format(_ShowId)).addClass("active");
        $("#content-iframes > div[data-right-iframe-id='{0}']".Format(_ShowId))
        .show().addClass("iframe-fade");
    },
    removerActiveClass: function () {
        $(".scroll-menu>li>a").removeClass("active");
        $(".scroll-menu-two>li>a").removeClass("active");
        $(".scroll-menu-three > li > a").removeClass("active");
    }
}
